草庐IT

Safari 技术

全部标签

JavaScript 编码技术还是糟糕的代码?

在调试别人编写的javascript时,我遇到了一些以前从未见过的代码。这是一个示例:functiondoSomething(){//doingsomethinghere...}functiondoItNow(){//otherlogic...doSomething&&doSomething();//函数doItNow()中第二行的目的是检查doSomething是否存在然后调用它吗?像这样:functiondoItNow(){//otherlogic...if(doSomething){doSomething();}}JSLint不喜欢它,我不希望我的应用程序中有错误代码。有什么见解

javascript - 在 Safari 10.13.4 中发送包含空文件输入的 FormData() 时 AJAX 请求失败

我正在运行一个基于Symfony2.8的网络应用程序,它使用Ajax将一些表单数据发送回Controller。到目前为止一切正常,但自从最新的macOS更新到版本10.13.4用户开始报告,在Safari中提交表单不再有效。其他macOS版本和10.13.4上的其他浏览器仍然可以正常工作,所以这似乎是Safari中的问题。当然,我向Apple提交了错误报告,但我不认为我会从那里得到反馈......我能够找出问题的根源:提交包含空文件输入的数据失败://safri_bug.htmlSubmit$(document).ready(function(){$('#bSubmit').click

javascript - 无法在 Safari 中加载跨源图像(来自 CloudFront)

在Safari8中尝试从CloudFrontURL加载图像时出现以下错误:跨源资源共享策略拒绝跨源图像加载。这只发生在Safari8上。在最新的FireFox38和Chrome41中它加载得很好。(Mac10.10)我的设置:1。具有以下CORS配置的S3存储桶*GET3000*2。链接的CloudFront分配以下header已列入白名单(在行为下):访问控制请求header访问控制请求方法来源3。JavaScriptvarimg=newImage();img.crossOrigin='';img.onload=function(){console.log('imageloaded'

javascript - Safari 上的 AudioContext

昨天,我有aquestionaboutthenoteOnmethodoftheAudioContextobject.现在,我已经完全了解这个AudioContext对象。这是我在桌面上的Safari中尝试过的方法及其相关的错误消息: varctx// ctx=new(AudioContext||webkitAudioContext);//ReferenceError:Can'tfindvariable:AudioContext// ctx=new(audioContext||webkitAudioContext);//ReferenceError:Can'tfindvariable:a

Javascript 对象定义技术,优点和缺点

在Javascript中定义可重用对象的基本方法有哪些?我说可重用是为了排除单例技术,比如直接用对象字面量表示法声明一个变量。我在某处看到Crockford在他的书中定义了四种这样的方法,但我宁愿不必为这一小段信息买一本书。以下是我熟悉的方法:用this,用new构造(我觉得这叫经典?)functionFoo(){varprivate=3;this.add=function(bar){returnprivate+bar;}}varmyFoo=newFoo();使用原型(prototype),类似functionFoo(){varprivate=3;}Foo.prototype.add=

javascript - Safari 不使用 JS Fetch API 设置 CORS cookie

当使用FetchAPI(实际上,通过fetchpolyfill)时,我无法让Safari从服务器响应中成功应用Set-Cookie。相同的代码在FF和Chrome中都能正常工作(我使用native和polyfillfetch进行了测试)。请求是跨域的;是的,我正在设置credentials:true;服务器确实以Set-Cookieheader响应;后续请求从Chrome和FF发送带有cookie请求header,但Safari不发送;请求使用HTTPS(证书是自签名的并且在开发域上,但它似乎在常规请求中被Safari接受);和有人知道问题出在哪里吗?我已通读文档并浏览了许多close

javascript - 在 Internet Explorer 和 Safari 中调试 JavaScript

目前,我确实没有在InternetExplorer和Safari中调试JavaScript的好方法。.在Firefox中,您可以使用Firebug'sloggingfeature和commandLinefunctions.但是,当我转向其他浏览器时,这对我没有帮助。 最佳答案 对于Safari,您需要通过首选项(在Safari3.1中;参见theentryinApple'sSafaridevelopmentFAQ)或通过启用“开发”菜单$defaultswritecom.apple.SafariIncludeDebugMenu1在M

javascript - 为什么 javascript 对象在 Chrome、Firefox、Safari 的控制台中显示不同的值?

这个问题在这里已经有了答案:关闭10年前。社区在18天前审查了是否重新打开此问题,并将其关闭:原始关闭原因未解决PossibleDuplicate:IsChrome'sJavaScriptconsolelazyaboutevaluatingarrays?考虑这个javascript:varfoo={bar:1111};console.log(foo);console.log(foo.bar);foo.bar=2222;console.log(foo);console.log(foo.bar);在Firefox的Firebug中,这显示了我所期望的:Object{bar=1111}111

javascript - Safari/WebKit 的 console.log DOM 节点作为对象?

这让我抓狂了一段时间。当我console.log一个DOM节点(通过示例从document.getElementById返回)时,它显示为一个交互式html元素,就像它出现在“元素”选项卡上一样。这肯定很方便,但有时我只想展开对象并查看其所有属性,就像我可以对登录到控制台的所有其他类型的对象一样。有什么方法可以让DOM节点作为常规对象显示在控制台中? 最佳答案 使用console.dir而不是console.log。console.log(document.body);...console.dir(document.body);>H

javascript - 将监听器添加到通过 XTemplate 创建的 DOM 的正确技术?

我们使用XTemplates-很多XTemplates。它们非常适合显示只读内容。但是您是否曾经向通过模板创建的DOM添加(ExtJS)监听器?您愿意分享创建这些监听器的首选技术吗? 最佳答案 我的首选技术是使用来自jquery的$.live函数的模拟。F.i.假设您要使用xtemplate创建如下所示的简单列表:item1要将处理程序分配给anchor,您可以在jquery中执行以下操作:$('.nava').live('click',function(){//dosomethingonanchorclick});$.live函数